﻿window.onload=function(){
	var odiv=document.getElementById('main');//获取活动区域大小
	
	//将活动区域分成8行20列
	var R=8; //定义行数
	var C=19; //定义列数
	var asnake=[];
	

	//定义蛇元素的坐标位置函数setpos
	function setpos(obj){   
	obj.div.style.left=obj.c*30+'px';  //列 坐标=距左 列数c*30像素
	obj.div.style.top=obj.r*30+'px';   //行 坐标=距顶 行数r*30像素
	if(obj.type=='eat'){
		obj.div.className='';
	}else{
	    obj.div.className=obj.d;
	}
	}
	
	 //使用循环创建蛇头和蛇身Div，一共有5节
	for(var i=0; i<5; i++){  
		var onewdiv=document.createElement('div'); //创建一个div
		onewdiv.style.background='url(images/snake'+i+'.png)'; //定义循环需要的所有图片
		odiv.appendChild(onewdiv); //将onewdiv定位为odiv的子div
		asnake[i]={r:0,c:i+5,div:onewdiv, d:'l',type:'snake'}; //定义蛇的起始位置
		
		setpos(asnake[i]); //调用setpos函数
	}
	
var dir='l';  // 定义一个左移动的蛇 l

function start_move(){
   var timer=setInterval(function(){  // 定时移动函数

    if(asnake[0].c < 0 || asnake[0].c >=C || asnake[0].r < 0 || asnake[0].r>=R){
		alert('国外不归你管！');
		clearInterval(timer);
		return;
	}
	for(var i=1; i<aeat.length;i++){
	    if(asnake[0].c==aeat[i].c && asnake[0].r==aeat[i].r){
		   alert('你初中没毕业吗？');
		   clearInterval(timer);
		   return;
		}
	}
	for(var i=1; i<asnake.length; i++){
	    if(asnake[0].c==asnake[i].c && asnake[0].r==asnake[i].r){
		   alert('不能后退！');
		   clearInterval(timer);
		   return;	
		}	
	}

	if(nowrow==16){
		   odiv.innerHTML="<img src='images/jieshu.png'>";
		   clearInterval(timer);
		   return;  

	  }

    //判断蛇有没有吃到食物
	if(asnake[0].r==aeat[0].r && asnake[0].c==aeat[0].c){
		asnake.splice(3,0,aeat[0]);
		aeat.shift();
		if(aeat.length==0){
			createeat();
		}
	}
	for(i=asnake.length-1; i>0; i--){  //查询蛇节数
		asnake[i].r=asnake[i-1].r;  //将前一节的坐标赋值给后一节
		asnake[i].c=asnake[i-1].c;
	  
	}
	switch(dir){
		case 'l':   //向左移动
		asnake[0].c--;
		break;
	    case 'r':   //向右移动
		asnake[0].c++;
		break;
		case 't':    //向上移动
		asnake[0].r--;
		break;
		case 'd':    //向下移动
		asnake[0].r++;
		break;
	}
	for(i=0; i<asnake.length; i++){ //for循环调用setpos函数
		setpos(asnake[i]);
	}
	},300)
		document.onkeydown=function(ev){
		var oEvent=ev || event;
		switch(oEvent.keyCode){
			case 37:
			   dir='l';
			  
			   break;
			case 38:
			   dir='t';
			 
			   break;
			case 39:
			   dir='r';
			  
			   break;
			case 40:
			   dir='d';
			  
			   break;
			
			case 83:
			   clearInterval(timer);
			   break;
			case 32: 
			   clearInterval(timer);
			   break;
		}
	};

}

	

    var aeat=[];
	var nowrow=0;
	function createeat(){
		while(aeat.length < 4){
		var r=parseInt(Math.random()*R);
		var c=parseInt(Math.random()*C);
		var found=false;
		for(var i=0; i<asnake.length; i++){  
		 // 判断蛇和食物是否重合
			if(r==asnake[i].r && c==asnake[i].c){
				found=true;
			}
   	    }
		for(var i =0; i<aeat.length; i++){
		  //判断食物和食物是否重合
		  if(r==aeat[i].r && c==aeat[i].c){
			  found=true;
			  }
			}
		if(!found){ //判断found的值是否为false
		     var onewdiv=document.createElement('div'); //创建一个新的div名称是onewdiv；
			 onewdiv.style.background='url(images/iconbg.png) -'   /* X */ + 30*aeat.length + /* Y */'px -'+ 30 *nowrow +'px';//插入背景图片
			 odiv.appendChild(onewdiv);//声明onewdiv是odiv的子div
			 aeat.push({r:r,c:c,div:onewdiv ,type:'eat'});
		}
     }
	 for(var i=0; i<aeat.length; i++){
			setpos(aeat[i]);
	  }
	  nowrow++;
	  
  }
	createeat();
	
	window.onkeydown=function(ev){
		var oevent=ev || event;
		if(oevent.keyCode==32){
			start_move();
		}
	}	
}


	
